This invention relates to the field of Computer Systems. More specifically, the invention relates to computer systems supporting an interface for installation of device drivers. The invention provides an apparatus and method for entering new device driver information into an existing system of computers which make use of various Microsoft Windows(trademark) operating system programs.
It is desirable that installing a Personal Computer (PC) and more specifically installing a new feature on an existing PC be as easy as possible. However, the architecture of the computer and its configuration of devices such as display, mouse, sound capabilities, attached camera, storage devices, etc. must be thoroughly understood by the Operating System (OS) which is to run the computer. The OS must be programmed to access all of the hardware devices attached to the computer in order for it to operate properly. The communication between a hardware device and the OS is supplied by a Device Driver, typically a software or firmware system created specifically to talk to (or xe2x80x9cdrivexe2x80x9d) the device, the device driver being connected or hooked to the OS. This Device Driver is typically supplied by the manufacturer of the related device. When a new device is attached to a PC its device driver must be xe2x80x9cinstalledxe2x80x9d so that the OS can communicate with the device. The installation of new devices and their device drivers on existing systems is excessively error prone and time consuming. Accordingly, there is a strong need to automate the process of device driver installation.
For example, during installation of an OS on a PC, the Operating System software can only deal with hardware devices that were known and available at the time the Operating System was built. This often leads to problems installing the Operating System on newer hardware where the user must run through several manual steps in order to configure the new device driver and this only works after the Operating System has been installed. It is extremely difficult for a Microsoft PC system user to understand how to make this work by reading the Microsoft documentation for Windows 95(trademark), Windows 98(trademark) and Windows NT(trademark) 4.0.
Numerous United States Patents exist on inventions touching on the area of Device Drivers including
U.S. Pat. No. 5,319,751xe2x80x94Device driver configuration in a computer system
U.S. Pat. No. 5,555,401xe2x80x94Self Configuring device system
U.S. Pat. No. 5,723,282xe2x80x94Virtual Device Registry having a globally unique identifier supplying virtual driver call information to the requesting program; and
U.S. Pat. No. 5,752,032xe2x80x94Adaptive device driver using controller hardware sub-element identifier.
However none of these patents address the fundamental issue of providing a useful tool to a user for inputting new device driver information into a PC in an existing computer network so as to permit an existing OS to easily configure itself to communicate with the new device.
As more and more businesses develop enterprise wide computer systems to support their critical business applications, these businesses are searching for cost-effective methods of administering these company-wide systems. These businesses, recognizing that approximately four-fifths of the total cost of ownership (TCO) of a computer system resides in the administration and maintenance of the computers, resort to more controlled management practices and tools to reduce this TCO. Microsoft has reacted to this pressure to reduce systems administration costs by targeting system update and application installation, central administration, system lock down, and easy client replacement as functions to reduce TCO. Their solution is its System Management Server (SMS)(trademark), which provides automated software distribution and upgrades, hardware and software inventory of each machine, and remote control and remote diagnostics. SMS is supported in Windows 95(trademark), Windows 98(trademark) and Windows NT(trademark)4.0.
Intel""s umbrella term for their TCO initiatives is xe2x80x9cWired for Managementxe2x80x9d (xe2x80x9cWfMxe2x80x9d). The WfM Baseline provides a minimum set of management capabilities for Personal Computer (PC) designers and systems management application vendors. It focuses on hardware/firmware based capabilities such as remote wake-up, Preboot Execution Environment (PXE) on clients, hardware sensors, and BIOS-based capabilities. Platinum Technology""s AutoConfigure(trademark) System (which was originally called Intel""s LANDesk Configuration Manager(trademark) (LCM) system), is a system for end-user organizations and is designed primarily to automatically install software on networked PCs. It is a PXE server also so it can install the Operating System, and.other low-level software, in addition to applications. Platinum""s AutoConfigure system and Microsoft""s SMS systems are used by most large enterprises today to control their PC networks and their TCO.
The Windows Operating Systems and the AutoConfigure System (see LANDesk Configuration Manager) are described in the following documents which are incorporated fully herein by reference:
xe2x80x9cMicrosoft(copyright) Windows(copyright)95 Resource Kitxe2x80x9d 1995 Microsoft Press,
xe2x80x9cMicrosoft(copyright) Windows(copyright)98 Resource Kitxe2x80x9d 1998 Microsoft Press, ISBN 1-57231-644-6
xe2x80x9cMicrosoft(copyright) Windows(copyright)NT Workstationxe2x80x9d Operating System, Deployment Guidexe2x80x9d, 1997 Microsoft Corporation.
xe2x80x9cIntel LANDesk(copyright) Configuration Manager, Administrator""s Guide, 1997 Intel Corporation.
xe2x80x9cGuide to Automating Windows NT Setupxe2x80x9d for installing Windows NT drivers during Windows NT installation.
There is a need in these systems to enable the user to easily provide information on new devices and their drivers so as to minimize system start-up difficulties due to loading of the Operating System without knowledge of the new device and its driver.
The present invention is described below in terms of its preferred embodiment as an adjunct to the Platinum AutoConfigure System (formerly called the Intel LANDesk Configuration Manager(trademark) (LCM) system, which is now owned by Platinum Technology (the assignee of the present invention) and which was first publicly shipped as a part of the 1.5 version of the LCM system on Nov. 7, 1997.
The present invention includes a method for providing device driver code for a newly installed device so as to permit an existing operating system to communicate with the device driver. The method includes steps of inputting the device driver code into a file in a computer wherein the file has a unique file identification; invoking an add-device tool on the computer, inputting into this add-device tool data representing the unique file identification of the file containing the device driver code, a pointer to the answer file used by the operating system and to the OS installation files used by the operating system; and executing a portion of the add-device tool to modify the answer file used by the operating system and the OS installation files used by the operating system, to include information and code obtained from the file containing the device driver, whereby the operating system can use these modified answer file and OS installation files to configure itself to communicate with the new device using the device driver code.
The method claimed may also include steps wherein the add-device tool, upon being invoked, causes a special graphical user interface (GUI) window to be displayed, facilitating the device driver data input through the use of this GUI window.
The invention also includes an apparatus having a computer and various peripherals arranged to permit an existing operating system to configure itself to communicate with device driver code, wherein the apparatus includes device driver code and related information stored in a file having a unique file identification; having an add-device tool stored in the system memory; and having code mechanisms to invoke the add-device tool which is configured to permit a user to easily input the unique file identification for the file containing the device driver code and related information and to input a pointer to answer file and OS installation files used by the operating system; and having a code mechanism which can modify the answer file and OS installation files used by the operating system with code and data for the device driver, whereby the operating system can subsequently configure itself to communicate with the new device driver. The apparatus is also claimed containing a graphical user interface window (GUI) which is used to facilitate the input to the device driver and OS files information. The invention also includes a computer program product for providing this same capability which is embedded on a computer readable medium.
Other embodiments of the present invention will become readily apparent to those skilled in these arts from the following detailed description, wherein is shown and described only the embodiments of the invention by way of illustration of the best mode known at this time for carrying out the invention. The invention is capable of other and different embodiments some of which may be described for illustrative purposes, and several of the details are capable of modification in various obvious respects, all without departing from the spirit and scope of the present invention.